package org.example.controller.SpringBoot300;

import com.github.junrar.exception.RarException;
import org.example.util.file.FileUtil;
import org.example.util.log.Logac;
import org.example.util.file.RARUtil;
import org.example.util.file.ZIPUtil;

import java.io.IOException;
import java.util.List;

/**
 * @auther admin闫
 * @Descriptopn 批量文件解压 [不好使未开发完成]
 * @date 2024/4/4 18:16
 */
public class SpringBoot300FileJY {
    /*
    * 1.遍历第一层目录，拿到所有的目录，放到List里面
    * 2.遍历地二层级目录，找到第二级的三个文件夹（视频，源码，图片）
    * 3.找到源码文件夹给他解压
    */
    public static void main(String[] args) {
        List<String> one = FileUtil.getXiaYiPath("H:\\毕业设计工作目录\\毕业设计源码运行目录\\第六天（10）闫鹏");
        for (String path : one) {
            List<String> allFilePaths = FileUtil.getAllFilePaths(path);
            for (String allFilePath : allFilePaths) {
                System.out.println("正在解压"+allFilePath);
                String fileName = FileUtil.getFileName(allFilePath);
                String fileType = FileUtil.getFileType(fileName);
//                System.out.println(fileType);
                if (fileType.equals("rar")){
                    try {
                        RARUtil.extractRar(allFilePath,path);
                    } catch (IOException e) {
                        Logac.log(path+"解压报错"+e.getMessage());
                    } catch (RarException e) {
                        Logac.log(path+"解压报错"+e.getMessage());
                    }
                } else if (fileType.equals("zip")) {
                    try {
                        ZIPUtil.unzip(allFilePath,path);
                    } catch (IOException e) {
                        Logac.log(path+"解压报错"+e.getMessage());
                    }
                }else {
                    Logac.log(path+"非RAR/ZIP");
                }
            }
        }
    }
}
